PROP_NAT_LINES,
PROP_TEXT,
PROP_TEXT_OVERFLOW,
+ PROP_WRAP_MODE,
PROP_XALIGN,
PROP_YALIGN,
g_value_set_enum (value, self->overflow);
break;
+ case PROP_WRAP_MODE:
+ g_value_set_enum (value, pango_layout_get_wrap (self->layout));
+ break;
+
case PROP_XALIGN:
g_value_set_float (value, self->xalign);
break;
gtk_inscription_set_text_overflow (self, g_value_get_enum (value));
break;
+ case PROP_WRAP_MODE:
+ gtk_inscription_set_wrap_mode (self, g_value_get_enum (value));
+ break;
+
case PROP_XALIGN:
gtk_inscription_set_xalign (self, g_value_get_float (value));
break;
GTK_INSCRIPTION_OVERFLOW_CLIP,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
+ /**
+ * GtkInscription:wrap-mode: (attributes org.gtk.Property.get=gtk_inscription_get_wrap_mode org.gtk.Property.set=gtk_inscription_set_wrap_mode)
+ *
+ * Controls how the line wrapping is done.
+ *
+ * Note that unlike `GtkLabel`, the default here is %PANGO_WRAP_WORD_CHAR.
+ *
+ * Since: 4.8
+ */
+ properties[PROP_WRAP_MODE] =
+ g_param_spec_enum ("wrap-mode", NULL, NULL,
+ PANGO_TYPE_WRAP_MODE,
+ PANGO_WRAP_WORD_CHAR,
+ G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
+
/**
* GtkInscription:xalign: (attributes org.gtk.Property.get=gtk_inscription_get_xalign org.gtk.Property.set=gtk_inscription_set_xalign)
*
return self->overflow;
}
+/**
+ * gtk_inscription_set_wrap_mode: (attributes org.gtk.Method.set_property=wrap-mode)
+ * @self: a `GtkInscription`
+ * @wrap_mode: the line wrapping mode
+ *
+ * Controls how line wrapping is done.
+ *
+ * Since:4.8
+ */
+void
+gtk_inscription_set_wrap_mode (GtkInscription *self,
+ PangoWrapMode wrap_mode)
+{
+ g_return_if_fail (GTK_IS_INSCRIPTION (self));
+
+ if (pango_layout_get_wrap (self->layout) == wrap_mode)
+ return;
+
+ pango_layout_set_wrap (self->layout, wrap_mode);
+
+ gtk_widget_queue_draw (GTK_WIDGET (self));
+
+ g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_WRAP_MODE]);
+}
+
+/**
+ * gtk_inscription_get_wrap_mode: (attributes org.gtk.Method.get_property=wrap-mode)
+ * @self: a `GtkInscription`
+ *
+ * Returns line wrap mode used by the inscription.
+ *
+ * See [method@Gtk.Inscription.set_wrap_mode].
+ *
+ * Returns: the line wrap mode
+ *
+ * Since:4.8
+ */
+PangoWrapMode
+gtk_inscription_get_wrap_mode (GtkInscription *self)
+{
+ g_return_val_if_fail (GTK_IS_INSCRIPTION (self), PANGO_WRAP_WORD_CHAR);
+
+ return pango_layout_get_wrap (self->layout);
+}
+
/**
* gtk_inscription_set_markup: (attributes org.gtk.Method.set_property=markup)
* @self: a `GtkInscription`